package com.fy.market.types.common.constant;

public final class KeysConstant {
    // 私有构造方法，防止实例化
    private KeysConstant() {}

    public static final String LOGIN_SESSION_KEY = "login:session:key:";
    public static final String CHECK_CODE = "checkCode";
    public static final String CHECK_CODE_EMAIL = "checkCodeEmail";

    // 内部静态类，存放Redis相关常量
    public static final class RedisKey {
        public static final String STRATEGY_RULE_MODEL = "bigMarket:strategy:ruleModel_";
        public static final String STRATEGY_RULE_WEIGHT = "bigMarket:strategy:ruleWeight:times_"; // 策略规则权重缓存
        public static final String STRATEGY_RULE_WEIGHT_TOTAL = "bigMarket:strategy:ruleWeight:total"; // 策略规则权重缓存
        public static final String STRATEGY_DEFAULT_TOTAL = "bigMarket:strategy:default:total"; // 默认缓存（没有权重的策略奖品装配）
        public static final String STRATEGY_DEFAULT_COUNT = "bigMarket:strategy:default:count"; // 默认缓存（没有权重的策略奖品装配）
        public static final String STRATEGY_RULE_WEIGHT_COUNT = "bigMarket:strategy:ruleWeight:count_"; // 策略规则权重缓存
        public static final String STRATEGY_AWARD_KEY = "bigMarket:strategyAwardKey_"; // 策略奖品缓存
        public static final String STRATEGY_KEY = "bigMarket:strategyKey_"; // 策略缓存
        public static final String STRATEGY_RATE_TABLE_KEY = "bigMarket:StrategyRateTableKey_"; // 策略权重缓存
        public static final String STRATEGY_RATE_RANGE_KEY = "bigMarket:strategyRateRangeKey_"; // 策略权重范围缓存
        public static final String RULE_TREE_VO_KEY = "bigMarket:ruleTreeVOKey_";
        public static final String STRATEGY_AWARD_STOCK = "bigMarket:strategyAwardStock:"; // 策略奖品库存缓存


        // 私有构造方法，防止实例化
        private RedisKey() {}
    }

    // 内部静态类，存放MQ相关常量
    public static final class MQKey {

        // 订单消费交换机
        public static final String ORDER_CONSUME_EXCHANGE = "order.consumer.direct.exchange";
        // 订单消费队列
        public static final String ORDER_CONSUME_QUEUE = "order.consumer.queue";
        // 订单消费路由键
        public static final String ORDER_CONSUME_ROUTING_KEY = "order.consumer.direct.key";

        // 私有构造方法，防止实例化
        private MQKey() {}
    }

    public static final String CHAT_CONSTANT_REDIS_KEY = "chat:constant:hash:key:";
    public static final String SHARE_CODE_SESSION = "shareCode:session:key:";
    public static final String DOWNLOAD_KEY = "shareDownload:";
    public static final String CHAT_AI_SESSION_KEY = "chat:ai:session:key:";

    public static final String CACHE_LOGIC_DELETE_KEY = "picture:logic_delete";
    public static final String CACHE_DATA_KEY = "picture:data";
    public static final String CACHE_UPDATING_KEY = "picture:updating";
    public static final String PICTURE_STATISTICS_CACHE_KEY = "picture:statistics";
    public static final String PICTURE_CATEGORIES_CACHE_KEY = "picture:categories";
    public static final String PICTURE_TAGS_CACHE_KEY = "picture:tags";
    public static final String BING_SEARCH_CACHE_KEY = "bing:search:%s";
}